/**
 * 详情对话框
 */
var MenuInfoDlg = {
    data: {
        pid: "",
        pcodeName: "",
        url: ""
    }
};

layui.use(['layer', 'form', 'admin', 'laydate', 'ax', 'iconPicker'], function () {
    var $ = layui.jquery;
    var $ax = layui.ax;
    var form = layui.form;
    var admin = layui.admin;
    var laydate = layui.laydate;
    var layer = layui.layer;
    var iconPicker = layui.iconPicker;

    // 点击父级菜单
    $('#pcodeName').click(function () {
        var formName = encodeURIComponent("parent.MenuInfoDlg.data.pcodeName");
        var formId = encodeURIComponent("parent.MenuInfoDlg.data.pid");
        var treeUrl = encodeURIComponent("/menu/selectMenuTreeList");

        layer.open({
            type: 2,
            title: '父级菜单',
            area: ['300px', '400px'],
            content: Changein.ctxPath + '/system/commonTree?formName=' + formName + "&formId=" + formId + "&treeUrl=" + treeUrl,
            end: function () {
                $("#pid").val(MenuInfoDlg.data.pid);
                $("#pcodeName").val(MenuInfoDlg.data.pcodeName);
                if (MenuInfoDlg.data.pid == 0) {
                    $("#authorityBtnDiv").hide();
                    $("#authorityCodes").val("");
                    $("#authorityNames").val("");
                } else {
                    $("#authorityBtnDiv").show();
                }
            }
        });
    });

    //监听是否是菜单按钮
    form.on('radio(menuFlag)', function (data) {
        data.value === "N" ? $("#iconDiv").hide() : $("#iconDiv").show();
        data.value === "N" ? $("#authorityBtnDiv").hide() : $("#authorityBtnDiv").show();
    });

    $("#generateAuthorityBtn").click(function () {
        var text = $("#customAuthority").val();
        var authorityArr = text.split(",");
        if(authorityArr.length != 2){
            Changein.error("格式错误");
            return false;
        }
        var html = '<input type="checkbox" lay-filter="authorityBtn" value="'+authorityArr[1]+'" title="'+authorityArr[0]+'" checked data-name="'+authorityArr[0]+'">';
        $("#customAuthority").before(html);
        $("#customAuthority").val('');
        form.render();
        return false;
    });

    /**
     * 组装按钮名称对应的值
     */
    function assembleBtn() {
        var codeArr = [];
        var nameArr = [];
        $('input[type=checkbox]:checked').each(function () {
            let code = $(this).val();
            codeArr.push(code);
            nameArr.push($(this).attr("data-name"));
            if(code == 'audit'){
                codeArr.push("unAudit");
                nameArr.push("反审核");
            }else if(code == 'enable'){
                codeArr.push("disable");
                nameArr.push("禁用");
            }else if(code == 'firstAudit'){
                codeArr.push("firstUnAudit");
                nameArr.push("反初审");
            }
        });
        $("#authorityCodes").val(codeArr.toString());
        $("#authorityNames").val(nameArr.toString());
    }

    // 表单提交事件
    form.on('submit(btnSubmit)', function (data) {
        var ajax = new $ax(Changein.ctxPath + "/menu/add", function (data) {
            Changein.success("添加成功！");

            //传给上个页面，刷新table用
            admin.putTempData('formOk', true);

            //关掉对话框
            admin.closeThisDialog();

        }, function (data) {
            Changein.error("添加失败！" + data.responseJSON.message)
        });
        assembleBtn();
        data.field.authorityCodes = $("#authorityCodes").val();
        data.field.authorityNames = $("#authorityNames").val();
        ajax.set(data.field).start();
        return false;
    });

    //初始化图标选择
    iconPicker.render({
        elem: '#icon',
        type: 'fontClass',
        search: true,
        page: true,
        limit: 12,
        click: function (data) {
        }
    });

    iconPicker.checkIcon('iconPicker', '');

    //初始化字典详细列表
    $("#dictDetails").html('');
    var ajax = new $ax(Changein.ctxPath + "/dict/listDictsByCode", function (data) {

        for (var i = 0; i < data.data.length; i++) {
            var name = data.data[i].name;
            var code = data.data[i].code;
            $("#dictDetails").append('<input type="radio" name="systemType" value="' + code + '" title="' + name + '">');
        }
        form.render();

    }, function (data) {
    });
    ajax.set("dictTypeCode", "SYSTEM_TYPE");
    ajax.start();

});